-- *****************************************************************
-- Cisco Extension to MAU-MIB
--   
-- October 2003, Liwei Lue
-- February 2004, Binh P Le
-- February 2008, Hameed Yasser Shahul(hsahul)
--   
-- Copyright (c) 2003-2004, 2008 by cisco Systems Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-MAU-EXT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    TruthValue
        FROM SNMPv2-TC
    ifJackEntry,
    ifMauIfIndex,
    ifMauIndex
        FROM MAU-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoMauExtMIB MODULE-IDENTITY
    LAST-UPDATED    "200803050000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: cs-lan-switch-snmp@cisco.com"
    DESCRIPTION
        "A MIB module for extending the MAU-MIB (RFC 3636)
        to add objects which provide additional management
        information about MAU or Jack not available in 
        MAU-MIB."
    REVISION        "200803050000Z"
    DESCRIPTION
        "Added cmExtIfMauTrafficTable
        Added cmExtIfMauTrafficGroup OBJECT-GROUP
        Deprecated cmExtMIBCompliance2 MODULE-COMPLIANCE
        Added cmExtMIBCompliance3 MODULE-COMPLIANCE"
    REVISION        "200404210000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 398 }


cmExtMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoMauExtMIB 0 }

cmExtMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoMauExtMIB 1 }

cmExtMIBConformance  OBJECT IDENTIFIER
    ::= { ciscoMauExtMIB 2 }

cmExtMauConfig  OBJECT IDENTIFIER
    ::= { cmExtMIBObjects 1 }

-- The Interface Jack Configuration Table

cmExtJackConfigTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CmExtJackConfigEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains management information about MAUs
        attached to interfaces with managed jacks.  The 
        objects in this table are in addition to the objects
        in the ifJackTable."
    REFERENCE       "Reference RFC 3636, ifJackTable."
    ::= { cmExtMauConfig 1 }

cmExtJackConfigEntry OBJECT-TYPE
    SYNTAX          CmExtJackConfigEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing additional management information
        for a particular jack."
    REFERENCE       "Reference RFC 3636, ifJackEntry"
    AUGMENTS           { ifJackEntry  } 
 
    ::= { cmExtJackConfigTable 1 }

CmExtJackConfigEntry ::= SEQUENCE {
        cmExtJackState INTEGER 
}

cmExtJackState OBJECT-TYPE
    SYNTAX          INTEGER  {
                        active(1),
                        inactive(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Indicates the state of a particular jack.

        Within a particular MAU, setting this to 'active' on
        a jack which is not the current active jack will 
        deactivate the current active jack. 

        Setting the current active jack to 'active' has no 
        effect.

        A value of inactive(2) indicates that the jack is
        currently deactiveated.  Setting this to 'inactive' 
        has no effect.  Of all the jacks connected to a MAU,
        at least one must be active at all times." 
    ::= { cmExtJackConfigEntry 1 }
 

cmExtAutoMdixConfig  OBJECT IDENTIFIER
    ::= { cmExtMIBObjects 2 }

-- The Auto-MDIX (Automatic Medium Dependent Interface
-- crossover) feature provides ability to automatically
-- detect the required cable connection type, and to
-- configure the connection accordingly. This feature
-- enables auto correction of incorrect cabling
-- connections, allows either a straight cable or a
-- cross cable to connect to a peer device.

cmExtIfAutoMdixConfigTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CmExtIfAutoMdixConfigEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains Auto-MDIX configuration
        information for MAUs attached to interfaces in the
        device. An entry appears in this table for each 
        active Auto-MDIX capable MAU connected to 
        interfaces in the device."
    ::= { cmExtAutoMdixConfig 1 }

cmExtIfAutoMdixConfigEntry OBJECT-TYPE
    SYNTAX          CmExtIfAutoMdixConfigEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing Auto-MDIX configuration
        information for a MAU connected to the interface."
    INDEX           {
                        ifMauIfIndex,
                        ifMauIndex
                    } 
    ::= { cmExtIfAutoMdixConfigTable 1 }

CmExtIfAutoMdixConfigEntry ::= SEQUENCE {
        cmExtIfAutoMdixEnabled TruthValue
}

cmExtIfAutoMdixEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Specifies if Auto-MDIX feature is enabled on
        the MAU." 
    ::= { cmExtIfAutoMdixConfigEntry 1 }
 

cmExtIfMau  OBJECT IDENTIFIER
    ::= { cmExtMIBObjects 3 }

-- In certain devices there may be MAUs associated with interfaces that
-- carry traffic that are internal to the device. These traffic are
-- generated internally and will never exit the device. These traffic carry
-- control and administrative data for the operation of device.
-- cmExtIfMauTrafficTable is used to identify the MAUs based on the type of
-- traffic they carry.

cmExtIfMauTrafficTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CmExtIfMauTrafficEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The (conceptual) table that identifies the type of traffic
        carried by the interfaces associated with the MAUs in the device.
        This table is sparse dependant on ifMauTable."
    REFERENCE       "ifMauTable defined in MAU-MIB [RFC 4836]."
    ::= { cmExtIfMau 1 }

cmExtIfMauTrafficEntry OBJECT-TYPE
    SYNTAX          CmExtIfMauTrafficEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry (conceptual row) in the cmExtIfMauTrafficEntry. Each
        entry contains the type of traffic carried by the interface
        associated with the MAU identified by the indices."
    REFERENCE       "ifMauTable defined in MAU-MIB [RFC 4836]."
    INDEX           {
                        ifMauIfIndex,
                        ifMauIndex
                    } 
    ::= { cmExtIfMauTrafficTable 1 }

CmExtIfMauTrafficEntry ::= SEQUENCE {
        cmExtIfMauTrafficType INTEGER 
}

cmExtIfMauTrafficType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        other(1),
                        adminControl(2),
                        user(3)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object is used to identify the type of traffic carried
        by the MAU. This object can take the following values
        other(1)        - The traffic type is other than anything
                          defined below
        adminControl(2) - This interface carries administrative
                          and control traffic that is internal to 
                          the device
        user(3)         - This interface carries the user data
                          traffic"
    DEFVAL          { user } 
    ::= { cmExtIfMauTrafficEntry 1 }
 

-- no notifications defined
--   

-- Conformance

cmExtMIBCompliances  OBJECT IDENTIFIER
    ::= { cmExtMIBConformance 1 }

cmExtMIBGroups  OBJECT IDENTIFIER
    ::= { cmExtMIBConformance 2 }


-- Compliance

cmExtMIBCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement
        the Cisco MAU extension MIB."
    MODULE          -- this module
    MANDATORY-GROUPS { cmExtJackConfigGroup }
    ::= { cmExtMIBCompliances 1 }

cmExtMIBCompliance2 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which implement
        the Cisco MAU extension MIB."
    MODULE          -- this module
    GROUP           cmExtJackConfigGroup
    DESCRIPTION
        "This group is mandatory only for the device that
        supports interfaces with multiple managed jacks."

    GROUP           cmExtIfAutoMdixConfigGroup
    DESCRIPTION
        "This group is mandatory only for the device that
        supports the Auto-MDIX feature."
    ::= { cmExtMIBCompliances 2 }

cmExtMIBCompliance3 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which implement
        the Cisco MAU extension MIB."
    MODULE          -- this module
    GROUP           cmExtJackConfigGroup
    DESCRIPTION
        "This group is mandatory only for the device that
        supports interfaces with multiple managed jacks."

    GROUP           cmExtIfAutoMdixConfigGroup
    DESCRIPTION
        "This group is mandatory only for the device that
        supports the Auto-MDIX feature."

    GROUP           cmExtIfMauTrafficGroup
    DESCRIPTION
        "This group is mandatory only for the device that
        supports the MAUs that carry traffic that are internal
        to the device"
    ::= { cmExtMIBCompliances 3 }

-- Units of Conformance

cmExtJackConfigGroup OBJECT-GROUP
    OBJECTS         { cmExtJackState }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing the configuration
        information about MAUs attached to interfaces with
        managed jacks."
    ::= { cmExtMIBGroups 1 }

cmExtIfAutoMdixConfigGroup OBJECT-GROUP
    OBJECTS         { cmExtIfAutoMdixEnabled }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing the configuration
        information of Auto-MDIX feature in the device."
    ::= { cmExtMIBGroups 2 }

cmExtIfMauTrafficGroup OBJECT-GROUP
    OBJECTS         { cmExtIfMauTrafficType }
    STATUS          current
    DESCRIPTION
        "Object that provides the type of traffic carried by MAUs in
        devices having admin or control traffic internal to the device."
    ::= { cmExtMIBGroups 3 }

END